Computer systems can be used to model objects and fluids. Computer application software can be used to display a model including an image of an object or a fluid flow. Images often include one or more elements or parts. Selection of an element is usually accomplished with a pointing device associated with the computer displaying the model. A cursor on a computer screen is typically directed by a pointing device, such as a mouse, to make a selection. A pointing device can position a cursor at different points, each point correlating to an X and Y coordinate. Different elements of a model are commonly selectable by using a pointing device to position the cursor at a point intersecting the element and clicking a button on the pointing device.
Modeling with three or more dimensions can also be accomplished on a computer system and displayed on a computer screen. In the context of computer graphics, the X and Y axes are usually placed in the plane defined by the computer screen while the depth or Z axis at any given point on the screen is defined either by the theoretical line going from that point on the screen to a human eye placed at some distance from the screen (conical representation) or by the normal to the screen in that point (cylindrical representation). A three-dimensional representation may include features of an object depicted with horizontal (X) and vertical (Y) axis and also depth (Z axis). However, selection of an element included in a model with more than two dimensions may require the identification of an intersection with an element, or some other method of specifying which elements are selectable.
Pointing devices utilized by point and click systems can travel in two dimensions across a computer screen allowing for horizontal or vertical movement. As it relates to graphical designations, a pointing device such as a mouse provides for movement along X and Y axis. However, as a two axis pointing device cannot simultaneously make a depth designation such as in the Z direction, ambiguity can result as to the exact element being pointed to when more than one element is intersected by the Z axis corresponding to the point (or pixel) on the screen designated by the X,Y coordinates.
A user of a CAD/CAM/CAE (computer aided design/ manufacture/engineering) or PDM II (product data management, second version) system, may need to select a particular element in a complex structure that is graphically represented on a screen in a computer system. One known way to select an element is for a user to reference a hierarchical tree representing the components or specifications of the structure. The tree can show successive degrees of details allowing a user to select a detail in the tree. In many CAD/CAM/CAE applications, however, the hierarchical tree is very large and extremely complex. Many users find it confusing to try and locate one element of an overall product as a position in a complex hierarchical tree representing a structure in terms of product components or design specifications. Generally, human operators prefer to reference a graphical representation directly.
It would be useful to have a convenient mechanism to allow the selection of an element directly on the graphical representation of the computer model.
The invention provides generally a method and system for selecting an element of a computer generated three-dimensional model graphically represented on a computer screen wherein each selectable element of the model occupies a position in a hierarchical tree describing the model.
The invention further provides a method and system for allowing a user to navigate through a computer generated model including various selectable elements until an element to be selected is reached.
In one aspect the invention includes detecting a position of a pointer on the computer screen and pre-selecting an element of the model on an axis extending from the position of the pointer along a predetermined direction wherein the direction is not in the plane of the screen. In one embodiment of the invention the predetermined direction is the direction normal to the plane of the computer screen and the axis is the normal to the plane of the screen at the position of the pointer. In another embodiment, the axis can be defined as the straight line drawn from the eye of a user sitting in front of the screen and intersecting the plane of the screen at the position of the pointer. It will be readily understood, however, that the direction of the axis can be any direction, provided it is not in the plane of the screen itself. In all cases the axis is called the depth axis. Depending on the position of the pointer, the depth axis may intersect one or more selectable elements of the model or none at all. If no selectable element is intersected by the depth axis, no element is pre-selected. If one selectable element only is intersected by the depth axis, this selectable element is pre-selected. If more than one selectable element is intersected by the depth axis, as will usually be the case, one of these selectable elements is pre-selected. In a preferred embodiment the pre-selected element is the selectable element of the model which is closest to the eye of the user in the three-dimensional representation of the model. Pre-selection of a selectable element is preferably represented by highlighting the element.
Pre-selection can be moved from one selectable element located at a first position on the hierarchical tree to a selectable element located at a second position on the hierarchical tree in response to activation of a navigation control mechanism. In a preferred embodiment the hierarchical tree describes the model in terms of its design specifications but the invention applies as well to the case where the tree would describe the model in terms of its product components or in any other way. When, as a result of the navigation, the element to be selected has been reached, full selection can be accomplished by activating a selection mechanism. In one embodiment of the invention, the navigation command mechanism is a set of directional arrow keys on a keyboard associated with the computer and the selection mechanism is a primary button on the mouse or the keyboard Enter key.
In another aspect of the invention, a user interface can include a first display region to display a computer generated model and a second display region to display the hierarchical tree describing the model. Any pre-selection of a selectable element of the graphical representation of the model, e.g. by highlighting it, results in the same element being pre-selected or highlighted in the hierarchical tree.
In still another aspect of the invention, an image of a user activatible navigation control mechanism, or navigator, is displayed on the computer screen in the vicinity of a point indicated by a pointing mechanism. In a preferred embodiment, the pointing mechanism is a pointer associated with a computer mouse and the image of the navigator is a representation of four directional arrow keys together with a central button corresponding to the Enter key of a keyboard. An area on the screen surrounding the point indicated by the pointing mechanism and encompassing the image of the navigator can be defined as a navigator area. Subsequent movements of the mouse pointer within the limits of the navigator area do not change the location of the point originally indicated by the mouse pointer. This makes it possible for the mouse pointer to be used for activating the various elements of the navigation control mechanism.
In a preferred embodiment, activation of the up and down arrow keys control the navigation along the depth axis, so that the various selectable elements found along that axis can be pre-selected. Activation of the left and right arrow keys control the navigation along branches of the hierarchical tree, so that the various selectable elements in a branch of the tree can be pre-selected. When the navigation control mechanism is displayed on the screen, activation of the central button or of the Enter key on the keyboard accomplishes the full selection of the element then pre-selected. When the navigation control mechanism is not displayed on the screen, clicking on the primary button of the mouse accomplishes the full selection of the element then pre-selected.
Embodiments can include, for example, a computer program stored on a computer readable medium and a user interface invocable by an application program.